﻿   <p>
      An <em>IfcProcedure</em> is a
      logical set of actions to be taken in response to an event
      or to cause an event to occur.
    </p>
    <blockquote class="history">
      HISTORY&nbsp; New entity in IFC2x2
    </blockquote>
    <blockquote class="change-ifc2x4">
      IFC4 CHANGE&nbsp; <em>ProcedureType</em> renamed to <em>PredefinedType</em> and made optional (upward compatible).  Where rules WR1 and WR2 have been removed.
    </blockquote>
    <p class="use-head">Use definitions</p>
    <p>
      <em>IfcProcedure</em> is used to capture information about
      stepped processes such as calibration, start/stop
      procedures for equipment items, designated actions to take
      in the event of an emergency etc. A procedure is not a
      task, but may describe a set of tasks and their order of
      occurrence in response to or to cause an event.
    </p>
     
    <p>As shown in Figure 11, <em>IfcProcedure</em> does not restrict anything but
    describes specific steps of how something should happen.
    While a procedure does control/restrict in the sense of
    indicating "this is how the task should be performed" by
    nature of describing inner detail, this is not different than
    parts of a product indicating "this is how the parts should
    be assembled". Consequently, it doesn't restrict the outer
    item as a whole but provides inner detail of the item.</p>
<table>
<tr><td><img src="../../../figures/ifcprocedure_example.png" alt="procedure example" border="0"></td></tr>
<tr><td><p class="figure">Figure 2 &mdash; Procedure relationships</p></td></tr>
</table>
    </p>